#pragma once
#include "Point.h"
#include "Shape.h" //����� ���������� ���� �������� �������� ������

//#include "Rect.h"
//class Rect;

class Circle: public Shape
{
	Point center;
	double m_radius;

public:
	Circle(const Point& point, const double radius,colour col = BLACK);//constructor: point - radius
	Circle(const double x = 0, const double y = 0, const double radius = 0,colour col = BLACK); //constructor: coordinate of point - radius 
	Circle(const Circle&); //copy-constructor
	//Circle(const Rect&); //����������� ��������� ���������� (����� ���� ������� ����� friend)
	~Circle();//destructor
	
	bool operator==(const Circle&) const;

	Shape* CopyObj()const;
	double Get_area()const;
	const Point& Get_center()const;
	double Get_distance()const;
	//void Inflate(int);
	
	Shape& operator=(const Shape& other);
	bool operator==(const Shape& other)const;

	friend std::ostream& operator<<(std::ostream&, const Circle&);
	friend Circle& operator>>(std::ifstream&, Circle& );
};

//std::ostream& operator<<(std::ostream& os, const Circle& circle);
//Circle& operator>>(std::ifstream& file, Circle& circle);